package com.fortune.service;

import com.fortune.dto.in.cOrder.VendorId;
import com.fortune.vo.wechatProduct.ManufacturerProductList;
import com.fortune.vo.wechatProduct.Product;
import com.fortune.vo.wechatProduct.TerminalDiscount;
import com.fortune.vo.wechatProduct.VendorListVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface WechatProductSevice {

    /**
     * 厂商列表
     * @param did
     * @return
     */
    List<VendorListVo> findVendorListVoList(@Param("did") String did);

    /**
     * 查询是否当前经销商有自营的商品
     * @param did
     * @return
     */
    Integer findSelfSupport(@Param("did") String did);

    /**
     * 选择厂商查询商品列表
     * @param vendorId
     * @return
     */
    List<ManufacturerProductList> findManufacturerProductList(@Param("vendorId") String vendorId);

    /**
     * 查询自营商品列表
     * @param did
     * @return
     */
    List<ManufacturerProductList> findZYProductList(@Param("did") String did);

    /**
     * 查询优惠政策
     * @return
     */
    TerminalDiscount findTerminalDiscount(@Param("vendorId") String vendorId,
                                          @Param("mpid") String mpid);

    /**
     * 查询商品列表
     * @param mid
     * @return
     */
    List<Product> findListProducts(@Param("mid") String mid);

    /**
     * 查询当前经销商对应的所有厂商
     * @param did
     * @return
     */
    List<VendorId> findVendorIdList(@Param("did") String did);

    BigDecimal priceByCProduct(String did,String clientId,String mid,String mpid);

    BigDecimal priceByDProduct(String did,String mid,String mpid);

    BigDecimal priceByZYProduct(String did, String mpid);

    /**
     * 查询客户批发价
     * @param did
     * @param cid
     * @param mid
     * @param mpid
     * @return
     */
    BigDecimal clientPrice(String did, String cid, String mid, String mpid);
}
